/*

import ace from 'ace-builds'
import 'ace-builds/css/ace.css'
// #region lua语法高亮
import 'ace-builds/src-noconflict/mode-lua'
import 'ace-builds/src-noconflict/snippets/lua'
// #endregion

// #region 代码提示
import 'ace-builds/src-noconflict/ext-language_tools'
// #endregion

// #region 代码校验
ace.config.setModuleUrl(
  'ace/mode/base_worker',
  require('file-loader?esModule=false!ace-builds/src-noconflict/worker-base.js')
)
ace.config.setModuleUrl(
  'ace/mode/lua_worker',
  require('file-loader?esModule=false!ace-builds/src-noconflict/worker-lua.js')
)
// #endregion

// #region 主题
import 'ace-builds/src-noconflict/theme-chrome'
// #endregion

// #region 其他功能
import 'ace-builds/src-noconflict/ext-searchbox'
import 'ace-builds/src-noconflict/ext-keybinding_menu'
import 'ace-builds/src-noconflict/ext-settings_menu'
// #endregion


 */


import ace from 'ace-builds';

// 代码模型与代码高亮
// json
import modeJsonUrl from 'ace-builds/src-noconflict/mode-json?url';
ace.config.setModuleUrl('ace/mode/json', modeJsonUrl);
import snippetsJsonUrl from 'ace-builds/src-noconflict/snippets/json?url';
ace.config.setModuleUrl('ace/snippets/json', snippetsJsonUrl);
//html
import modeHtmlUrl from 'ace-builds/src-noconflict/mode-html?url';
ace.config.setModuleUrl('ace/mode/html', modeHtmlUrl);
import snippetsHtmlUrl from 'ace-builds/src-noconflict/snippets/html?url';
ace.config.setModuleUrl('ace/snippets/html', snippetsHtmlUrl);

//javascript
import modeJavascriptUrl from 'ace-builds/src-noconflict/mode-javascript?url';
ace.config.setModuleUrl('ace/mode/javascript', modeJavascriptUrl);
import snippetsJsUrl from 'ace-builds/src-noconflict/snippets/javascript?url';
ace.config.setModuleUrl('ace/snippets/javascript', snippetsJsUrl);

// python
import modePythonUrl from 'ace-builds/src-noconflict/mode-python?url';
ace.config.setModuleUrl('ace/mode/python', modePythonUrl);
import snippetsPythonUrl from 'ace-builds/src-noconflict/snippets/python?url';
ace.config.setModuleUrl('ace/snippets/python', snippetsPythonUrl);

// XML
import modeXmlUrl from 'ace-builds/src-noconflict/mode-xml?url';
ace.config.setModuleUrl('ace/mode/xml', modeXmlUrl);
import snippetsXmlUrl from 'ace-builds/src-noconflict/snippets/xml?url';
ace.config.setModuleUrl('ace/snippets/xml', snippetsXmlUrl);

// yaml
import modeYamlUrl from 'ace-builds/src-noconflict/mode-yaml?url';
ace.config.setModuleUrl('ace/mode/yaml', modeYamlUrl);
import snippetsYamlUrl from 'ace-builds/src-noconflict/snippets/yaml?url';
ace.config.setModuleUrl('ace/snippets/yaml', snippetsYamlUrl);

// 语法校验
import workerBaseUrl from 'ace-builds/src-noconflict/worker-base?url';
ace.config.setModuleUrl('ace/mode/base', workerBaseUrl);

import workerJsonUrl from 'ace-builds/src-noconflict/worker-json?url';
ace.config.setModuleUrl('ace/mode/json_worker', workerJsonUrl);


import workerJavascriptUrl from 'ace-builds/src-noconflict/worker-javascript?url';
ace.config.setModuleUrl('ace/mode/javascript_worker', workerJavascriptUrl);

import workerHtmlUrl from 'ace-builds/src-noconflict/worker-html?url';
ace.config.setModuleUrl('ace/mode/html_worker', workerHtmlUrl);

import workerYamlUrl from 'ace-builds/src-noconflict/worker-yaml?url';
ace.config.setModuleUrl('ace/mode/yaml_worker', workerYamlUrl);


import keybindingSublimeUrl from 'ace-builds/src-noconflict/keybinding-sublime?url';

ace.config.setModuleUrl('ace/snippets/keybinding-sublime', keybindingSublimeUrl);


// 代码提示工具
import 'ace-builds/src-noconflict/ext-language_tools';
let langTools =ace.require("ace/ext/language_tools");

const tipsList = [
    {meta: "类初始化", caption: "__init__", value: "__init__", score:100},
]

langTools.addCompleter({
    getCompletions: function(editor, session, pos, prefix, callback) {
        return callback(null, tipsList);
    }
});

// 搜索框
import 'ace-builds/src-noconflict/ext-searchbox';
ace.require("ace/ext/searchbox");


// 主题
import themeAmbianceUrl from 'ace-builds/src-noconflict/theme-ambiance?url';
ace.config.setModuleUrl('ace/theme/ambiance', themeAmbianceUrl);

import themeChaosUrl from 'ace-builds/src-noconflict/theme-chaos?url';
ace.config.setModuleUrl('ace/theme/chaos', themeChaosUrl);

import themeChromeUrl from 'ace-builds/src-noconflict/theme-chrome?url';
ace.config.setModuleUrl('ace/theme/chrome', themeChromeUrl);


import themeCloud9DayUrl from 'ace-builds/src-noconflict/theme-cloud9_day?url';
ace.config.setModuleUrl('ace/theme/cloud9_day', themeCloud9DayUrl);

import themeCloud9NightUrl from 'ace-builds/src-noconflict/theme-cloud9_night?url';
ace.config.setModuleUrl('ace/theme/cloud9_night', themeCloud9NightUrl);

import themeCloud9NightLowColorUrl from 'ace-builds/src-noconflict/theme-cloud9_night_low_color?url';
ace.config.setModuleUrl('ace/theme/cloud9_night_low_color', themeCloud9NightLowColorUrl);

import themeCloudEditorUrl from 'ace-builds/src-noconflict/theme-cloud_editor?url';
ace.config.setModuleUrl('ace/theme/cloud_editor', themeCloudEditorUrl);

import themeCloudEditorDarkUrl from 'ace-builds/src-noconflict/theme-cloud_editor_dark?url';
ace.config.setModuleUrl('ace/theme/cloud_editor_dark', themeCloudEditorDarkUrl);

import themeCloudsUrl from 'ace-builds/src-noconflict/theme-clouds?url';
ace.config.setModuleUrl('ace/theme/clouds', themeCloudsUrl);

import themeCloudsMidnightUrl from 'ace-builds/src-noconflict/theme-clouds_midnight?url';
ace.config.setModuleUrl('ace/theme/clouds_midnight', themeCloudsMidnightUrl);

import themeCobaltUrl from 'ace-builds/src-noconflict/theme-cobalt?url';
ace.config.setModuleUrl('ace/theme/cobalt', themeCobaltUrl);

import themeCrimsonEditorUrl from 'ace-builds/src-noconflict/theme-crimson_editor?url';
ace.config.setModuleUrl('ace/theme/crimson_editor', themeCrimsonEditorUrl);

import themeDawnUrl from 'ace-builds/src-noconflict/theme-dawn?url';
ace.config.setModuleUrl('ace/theme/dawn', themeDawnUrl);

import themeDraculaUrl from 'ace-builds/src-noconflict/theme-dracula?url';
ace.config.setModuleUrl('ace/theme/dracula', themeDraculaUrl);

import themeDreamweaverUrl from 'ace-builds/src-noconflict/theme-dreamweaver?url';
ace.config.setModuleUrl('ace/theme/dreamweaver', themeDreamweaverUrl);

import themeEclipseUrl from 'ace-builds/src-noconflict/theme-eclipse?url'
ace.config.setModuleUrl('ace/theme/eclipse', themeEclipseUrl);

import themeGithubUrl from 'ace-builds/src-noconflict/theme-github?url';
ace.config.setModuleUrl('ace/theme/github', themeGithubUrl);

import themeGithubDarkUrl from 'ace-builds/src-noconflict/theme-github_dark?url';
ace.config.setModuleUrl('ace/theme/github_dark', themeGithubDarkUrl);

import themeGobUrl from 'ace-builds/src-noconflict/theme-gob?url';
ace.config.setModuleUrl('ace/theme/gob', themeGobUrl);

import themeGruvboxUrl from 'ace-builds/src-noconflict/theme-gruvbox?url';
ace.config.setModuleUrl('ace/theme/gruvbox', themeGruvboxUrl);

import themeGruvboxDarkHardUrl from 'ace-builds/src-noconflict/theme-gruvbox_dark_hard?url';
ace.config.setModuleUrl('ace/theme/gruvbox_dark_hard', themeGruvboxDarkHardUrl);

import themeGruvboxLightHardUrl from 'ace-builds/src-noconflict/theme-gruvbox_light_hard?url';
ace.config.setModuleUrl('ace/theme/gruvbox_light_hard', themeGruvboxLightHardUrl);

import themeIdleFingersUrl from 'ace-builds/src-noconflict/theme-idle_fingers?url';
ace.config.setModuleUrl('ace/theme/idle_fingers', themeIdleFingersUrl);


import themeIplasticUrl from 'ace-builds/src-noconflict/theme-iplastic?url';
ace.config.setModuleUrl('ace/theme/iplastic', themeIplasticUrl);

import themeKatzenmilchUrl from 'ace-builds/src-noconflict/theme-katzenmilch?url';
ace.config.setModuleUrl('ace/theme/katzenmilch', themeKatzenmilchUrl);

import themeKrThemeUrl from 'ace-builds/src-noconflict/theme-kr_theme?url';
ace.config.setModuleUrl('ace/theme/kr_theme', themeKrThemeUrl);

import themeKuroirUrl from 'ace-builds/src-noconflict/theme-kuroir?url';
ace.config.setModuleUrl('ace/theme/kuroir', themeKuroirUrl);

import themeMerbivoreUrl from 'ace-builds/src-noconflict/theme-merbivore?url';
ace.config.setModuleUrl('ace/theme/merbivore', themeMerbivoreUrl);

import themeMerbivoreSoftUrl from 'ace-builds/src-noconflict/theme-merbivore_soft?url';
ace.config.setModuleUrl('ace/theme/merbivore_soft', themeMerbivoreSoftUrl);

import themeMonoIndustrialUrl from 'ace-builds/src-noconflict/theme-mono_industrial?url';
ace.config.setModuleUrl('ace/theme/mono_industrial', themeMonoIndustrialUrl);

import themeMonokaiUrl from 'ace-builds/src-noconflict/theme-monokai?url';
ace.config.setModuleUrl('ace/theme/monokai', themeMonokaiUrl);

import themeNordDarkUrl from 'ace-builds/src-noconflict/theme-nord_dark?url';
ace.config.setModuleUrl('ace/theme/nord_dark', themeNordDarkUrl);

import themeOneDarkUrl from 'ace-builds/src-noconflict/theme-one_dark?url';
ace.config.setModuleUrl('ace/theme/one_dark', themeOneDarkUrl);

import themePastelOnDarkUrl from 'ace-builds/src-noconflict/theme-pastel_on_dark?url';
ace.config.setModuleUrl('ace/theme/pastel_on_dark', themePastelOnDarkUrl);

import themeSolarizedDarkUrl from 'ace-builds/src-noconflict/theme-solarized_dark?url';
ace.config.setModuleUrl('ace/theme/solarized_dark', themeSolarizedDarkUrl);

import themeSolarizedLightUrl from 'ace-builds/src-noconflict/theme-solarized_light?url';
ace.config.setModuleUrl('ace/theme/solarized_light', themeSolarizedLightUrl);

import themeSqlserverUrl from 'ace-builds/src-noconflict/theme-sqlserver?url';
ace.config.setModuleUrl('ace/theme/sqlserver', themeSqlserverUrl);

import themeTerminalUrl from 'ace-builds/src-noconflict/theme-terminal?url';
ace.config.setModuleUrl('ace/theme/terminal', themeTerminalUrl);

import themeTextmateUrl from 'ace-builds/src-noconflict/theme-textmate?url';
ace.config.setModuleUrl('ace/theme/textmate', themeTextmateUrl);

import themeTomorrowUrl from 'ace-builds/src-noconflict/theme-tomorrow?url';
ace.config.setModuleUrl('ace/theme/tomorrow', themeTomorrowUrl);

import themeTomorrowNightUrl from 'ace-builds/src-noconflict/theme-tomorrow_night?url';
ace.config.setModuleUrl('ace/theme/tomorrow_night', themeTomorrowNightUrl);

import themeTomorrowNightBlueUrl from 'ace-builds/src-noconflict/theme-tomorrow_night_blue?url';
ace.config.setModuleUrl('ace/theme/tomorrow_night_blue', themeTomorrowNightBlueUrl);

import themeTomorrowNightBrightUrl from 'ace-builds/src-noconflict/theme-tomorrow_night_bright?url';
ace.config.setModuleUrl('ace/theme/tomorrow_night_bright', themeTomorrowNightBrightUrl);

import themeTomorrowNightEightiesUrl from 'ace-builds/src-noconflict/theme-tomorrow_night_eighties?url';
ace.config.setModuleUrl('ace/theme/tomorrow_night_eighties', themeTomorrowNightEightiesUrl);

import themeTwilightUrl from 'ace-builds/src-noconflict/theme-twilight?url';
ace.config.setModuleUrl('ace/theme/twilight', themeTwilightUrl);

import themeVibrantInkUrl from 'ace-builds/src-noconflict/theme-vibrant_ink?url';
ace.config.setModuleUrl('ace/theme/vibrant_ink', themeVibrantInkUrl);

import themeXcodeUrl from 'ace-builds/src-noconflict/theme-xcode?url';
ace.config.setModuleUrl('ace/theme/xcode', themeXcodeUrl);

